<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        .title {
            background-color: brown;
        }
    </style>
</head>
<body>
    <!-- 准备好一个容器 -->
    <div id="test"></div>
    <!-- 引入react库(基于react16.4) -->
    <script src="../js/react.development.js"></script>
    <script src="../js/react-dom.development.js"></script>
    <!-- 引入babel, 将jsx转为js -->
    <script src="../js/babel.min.js"></script>


    <script type="text/babel"> /* 此处一定要写babel, 因为是jsx内容 */
        // 1. 创建虚拟dom
        
        const myId = 'helloid';
        const myData = 'hello data';
        const VDOM = (
            <h1 className='title' id={myId.toUpperCase()}>
                <span style={{color:'white',fontSize: '20px'}}>{myData.toUpperCase()}</span>
            </h1>
        )

        // 2. 渲染虚拟dom到页面
        ReactDOM.render(VDOM, document.getElementById('test'))

        /**
         * jsx的语法规则: 
         *  1. 定义虚拟dom, 不要写引号
         *  2. 标签中混入 'js表达式' 使用{}
         *  3. 样式的类名指定不要用class, 要用className
         *  4. 内链样式, 要用 style={{key:value}}
         *  5. 只能有一个根标签
         *  6. 标签必须闭合
         *  7. 标签首字母
         *      (1). 小写  则将该标签转为html中同名元素
         *      (2). 大写  react就去渲染对应的组件, 若组件没有定义, 则报错
         * 
         */
    </script>
</body>
</html>